/** Generated Model - DO NOT CHANGE */
package de.metas.printing.model;

import java.sql.ResultSet;
import java.util.Properties;

/**
 * Generated Model for C_Printing_Queue
 *
 * @author Adempiere (generated)
 */
@SuppressWarnings("javadoc")
public class X_C_Printing_Queue extends org.compiere.model.PO implements I_C_Printing_Queue, org.compiere.model.I_Persistent
{

	/**
	 *
	 */

	private static final long serialVersionUID = 42573466L;

	/** Standard Constructor */
	public X_C_Printing_Queue(Properties ctx, int C_Printing_Queue_ID, String trxName)
	{
		super(ctx, C_Printing_Queue_ID, trxName);
		/**
		 * if (C_Printing_Queue_ID == 0)
		 * {
		 * setAD_Archive_ID (0);
		 * setC_Printing_Queue_ID (0);
		 * setCopies (0); // 1
		 * setIsPrintoutForOtherUser (false); // N
		 * setProcessed (false); // N
		 * }
		 */
	}

	/** Load Constructor */
	public X_C_Printing_Queue(Properties ctx, ResultSet rs, String trxName)
	{
		super(ctx, rs, trxName);
	}

	/** Load Meta Data */
	@Override
	protected org.compiere.model.POInfo initPO(Properties ctx)
	{
		org.compiere.model.POInfo poi = org.compiere.model.POInfo.getPOInfo(ctx, Table_Name, get_TrxName());
		return poi;
	}

	@Override
	public org.compiere.model.I_AD_Archive getAD_Archive()
	{
		return get_ValueAsPO(COLUMNNAME_AD_Archive_ID, org.compiere.model.I_AD_Archive.class);
	}

	@Override
	public void setAD_Archive(org.compiere.model.I_AD_Archive AD_Archive)
	{
		set_ValueFromPO(COLUMNNAME_AD_Archive_ID, org.compiere.model.I_AD_Archive.class, AD_Archive);
	}

	/**
	 * Set Archiv.
	 *
	 * @param AD_Archive_ID
	 *            Archiv fĂĽr Belege und Berichte
	 */
	@Override
	public void setAD_Archive_ID(int AD_Archive_ID)
	{
		if (AD_Archive_ID < 1)
			set_ValueNoCheck(COLUMNNAME_AD_Archive_ID, null);
		else
			set_ValueNoCheck(COLUMNNAME_AD_Archive_ID, Integer.valueOf(AD_Archive_ID));
	}

	/**
	 * Get Archiv.
	 *
	 * @return Archiv fĂĽr Belege und Berichte
	 */
	@Override
	public int getAD_Archive_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_AD_Archive_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * AD_Language AD_Reference_ID=106
	 * Reference name: AD_Language
	 */
	public static final int AD_LANGUAGE_AD_Reference_ID = 106;

	/**
	 * Set Sprache.
	 *
	 * @param AD_Language
	 *            Sprache für diesen Eintrag
	 */
	@Override
	public void setAD_Language(java.lang.String AD_Language)
	{

		set_Value(COLUMNNAME_AD_Language, AD_Language);
	}

	/**
	 * Get Sprache.
	 *
	 * @return Sprache für diesen Eintrag
	 */
	@Override
	public java.lang.String getAD_Language()
	{
		return (java.lang.String)get_Value(COLUMNNAME_AD_Language);
	}

	@Override
	public org.compiere.model.I_AD_Process getAD_Process()
	{
		return get_ValueAsPO(COLUMNNAME_AD_Process_ID, org.compiere.model.I_AD_Process.class);
	}

	@Override
	public void setAD_Process(org.compiere.model.I_AD_Process AD_Process)
	{
		set_ValueFromPO(COLUMNNAME_AD_Process_ID, org.compiere.model.I_AD_Process.class, AD_Process);
	}

	/**
	 * Set Prozess.
	 *
	 * @param AD_Process_ID
	 *            Prozess oder Bericht
	 */
	@Override
	public void setAD_Process_ID(int AD_Process_ID)
	{
		if (AD_Process_ID < 1)
			set_Value(COLUMNNAME_AD_Process_ID, null);
		else
			set_Value(COLUMNNAME_AD_Process_ID, Integer.valueOf(AD_Process_ID));
	}

	/**
	 * Get Prozess.
	 *
	 * @return Prozess oder Bericht
	 */
	@Override
	public int getAD_Process_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_AD_Process_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	@Override
	public org.compiere.model.I_AD_Role getAD_Role()
	{
		return get_ValueAsPO(COLUMNNAME_AD_Role_ID, org.compiere.model.I_AD_Role.class);
	}

	@Override
	public void setAD_Role(org.compiere.model.I_AD_Role AD_Role)
	{
		set_ValueFromPO(COLUMNNAME_AD_Role_ID, org.compiere.model.I_AD_Role.class, AD_Role);
	}

	/**
	 * Set Rolle.
	 *
	 * @param AD_Role_ID
	 *            Responsibility Role
	 */
	@Override
	public void setAD_Role_ID(int AD_Role_ID)
	{
		if (AD_Role_ID < 0)
			set_Value(COLUMNNAME_AD_Role_ID, null);
		else
			set_Value(COLUMNNAME_AD_Role_ID, Integer.valueOf(AD_Role_ID));
	}

	/**
	 * Get Rolle.
	 *
	 * @return Responsibility Role
	 */
	@Override
	public int getAD_Role_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_AD_Role_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set DB-Tabelle.
	 *
	 * @param AD_Table_ID
	 *            Database Table information
	 */
	@Override
	public void setAD_Table_ID(int AD_Table_ID)
	{
		if (AD_Table_ID < 1)
			set_Value(COLUMNNAME_AD_Table_ID, null);
		else
			set_Value(COLUMNNAME_AD_Table_ID, Integer.valueOf(AD_Table_ID));
	}

	/**
	 * Get DB-Tabelle.
	 *
	 * @return Database Table information
	 */
	@Override
	public int getAD_Table_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_AD_Table_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Ansprechpartner.
	 *
	 * @param AD_User_ID
	 *            User within the system - Internal or Business Partner Contact
	 */
	@Override
	public void setAD_User_ID(int AD_User_ID)
	{
		if (AD_User_ID < 0)
			set_Value(COLUMNNAME_AD_User_ID, null);
		else
			set_Value(COLUMNNAME_AD_User_ID, Integer.valueOf(AD_User_ID));
	}

	/**
	 * Get Ansprechpartner.
	 *
	 * @return User within the system - Internal or Business Partner Contact
	 */
	@Override
	public int getAD_User_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_AD_User_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Rechnungspartner.
	 *
	 * @param Bill_BPartner_ID
	 *            Geschäftspartner für die Rechnungsstellung
	 */
	@Override
	public void setBill_BPartner_ID(int Bill_BPartner_ID)
	{
		if (Bill_BPartner_ID < 1)
			set_Value(COLUMNNAME_Bill_BPartner_ID, null);
		else
			set_Value(COLUMNNAME_Bill_BPartner_ID, Integer.valueOf(Bill_BPartner_ID));
	}

	/**
	 * Get Rechnungspartner.
	 *
	 * @return Geschäftspartner für die Rechnungsstellung
	 */
	@Override
	public int getBill_BPartner_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_Bill_BPartner_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Rechnungsstandort.
	 *
	 * @param Bill_Location_ID
	 *            Standort des Geschäftspartners für die Rechnungsstellung
	 */
	@Override
	public void setBill_Location_ID(int Bill_Location_ID)
	{
		if (Bill_Location_ID < 1)
			set_Value(COLUMNNAME_Bill_Location_ID, null);
		else
			set_Value(COLUMNNAME_Bill_Location_ID, Integer.valueOf(Bill_Location_ID));
	}

	/**
	 * Get Rechnungsstandort.
	 *
	 * @return Standort des Geschäftspartners für die Rechnungsstellung
	 */
	@Override
	public int getBill_Location_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_Bill_Location_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Async Batch.
	 *
	 * @param C_Async_Batch_ID Async Batch
	 */
	@Override
	public void setC_Async_Batch_ID(int C_Async_Batch_ID)
	{
		if (C_Async_Batch_ID < 1)
			set_Value(COLUMNNAME_C_Async_Batch_ID, null);
		else
			set_Value(COLUMNNAME_C_Async_Batch_ID, Integer.valueOf(C_Async_Batch_ID));
	}

	/**
	 * Get Async Batch.
	 *
	 * @return Async Batch
	 */
	@Override
	public int getC_Async_Batch_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_C_Async_Batch_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Geschäftspartner.
	 *
	 * @param C_BPartner_ID
	 *            Bezeichnet einen Geschäftspartner
	 */
	@Override
	public void setC_BPartner_ID(int C_BPartner_ID)
	{
		if (C_BPartner_ID < 1)
			set_Value(COLUMNNAME_C_BPartner_ID, null);
		else
			set_Value(COLUMNNAME_C_BPartner_ID, Integer.valueOf(C_BPartner_ID));
	}

	/**
	 * Get Geschäftspartner.
	 *
	 * @return Bezeichnet einen Geschäftspartner
	 */
	@Override
	public int getC_BPartner_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Standort.
	 *
	 * @param C_BPartner_Location_ID
	 *            Identifiziert die (Liefer-) Adresse des Geschäftspartners
	 */
	@Override
	public void setC_BPartner_Location_ID(int C_BPartner_Location_ID)
	{
		if (C_BPartner_Location_ID < 1)
			set_Value(COLUMNNAME_C_BPartner_Location_ID, null);
		else
			set_Value(COLUMNNAME_C_BPartner_Location_ID, Integer.valueOf(C_BPartner_Location_ID));
	}

	/**
	 * Get Standort.
	 *
	 * @return Identifiziert die (Liefer-) Adresse des Geschäftspartners
	 */
	@Override
	public int getC_BPartner_Location_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_C_BPartner_Location_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Belegart.
	 *
	 * @param C_DocType_ID
	 *            Belegart oder Verarbeitungsvorgaben
	 */
	@Override
	public void setC_DocType_ID(int C_DocType_ID)
	{
		if (C_DocType_ID < 0)
			set_Value(COLUMNNAME_C_DocType_ID, null);
		else
			set_Value(COLUMNNAME_C_DocType_ID, Integer.valueOf(C_DocType_ID));
	}

	/**
	 * Get Belegart.
	 *
	 * @return Belegart oder Verarbeitungsvorgaben
	 */
	@Override
	public int getC_DocType_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_C_DocType_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Druck-Warteschlangendatensatz.
	 *
	 * @param C_Printing_Queue_ID Druck-Warteschlangendatensatz
	 */
	@Override
	public void setC_Printing_Queue_ID(int C_Printing_Queue_ID)
	{
		if (C_Printing_Queue_ID < 1)
			set_ValueNoCheck(COLUMNNAME_C_Printing_Queue_ID, null);
		else
			set_ValueNoCheck(COLUMNNAME_C_Printing_Queue_ID, Integer.valueOf(C_Printing_Queue_ID));
	}

	/**
	 * Get Druck-Warteschlangendatensatz.
	 *
	 * @return Druck-Warteschlangendatensatz
	 */
	@Override
	public int getC_Printing_Queue_ID()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_C_Printing_Queue_ID);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Kopien.
	 *
	 * @param Copies
	 *            Anzahl der zu erstellenden/zu druckenden Exemplare
	 */
	@Override
	public void setCopies(int Copies)
	{
		set_Value(COLUMNNAME_Copies, Integer.valueOf(Copies));
	}

	/**
	 * Get Kopien.
	 *
	 * @return Anzahl der zu erstellenden/zu druckenden Exemplare
	 */
	@Override
	public int getCopies()
	{
		Integer ii = (Integer)get_Value(COLUMNNAME_Copies);
		if (ii == null)
			return 0;
		return ii.intValue();
	}

	/**
	 * Set Lieferdatum.
	 *
	 * @param DeliveryDate Lieferdatum
	 */
	@Override
	public void setDeliveryDate(java.sql.Timestamp DeliveryDate)
	{
		set_Value(COLUMNNAME_DeliveryDate, DeliveryDate);
	}

	/**
	 * Get Lieferdatum.
	 *
	 * @return Lieferdatum
	 */
	@Override
	public java.sql.Timestamp getDeliveryDate()
	{
		return (java.sql.Timestamp)get_Value(COLUMNNAME_DeliveryDate);
	}

	/**
	 * Set Abweichender Rechnungspartner.
	 *
	 * @param IsDifferentInvoicingPartner Abweichender Rechnungspartner
	 */
	@Override
	public void setIsDifferentInvoicingPartner(boolean IsDifferentInvoicingPartner)
	{
		throw new IllegalArgumentException("IsDifferentInvoicingPartner is virtual column");
	}

	/**
	 * Get Abweichender Rechnungspartner.
	 *
	 * @return Abweichender Rechnungspartner
	 */
	@Override
	public boolean isDifferentInvoicingPartner()
	{
		Object oo = get_Value(COLUMNNAME_IsDifferentInvoicingPartner);
		if (oo != null)
		{
			if (oo instanceof Boolean)
				return ((Boolean)oo).booleanValue();
			return "Y".equals(oo);
		}
		return false;
	}

	/**
	 * Set Foreign Customer.
	 *
	 * @param IsForeignCustomer Foreign Customer
	 */
	@Override
	public void setIsForeignCustomer(boolean IsForeignCustomer)
	{
		throw new IllegalArgumentException("IsForeignCustomer is virtual column");
	}

	/**
	 * Get Foreign Customer.
	 *
	 * @return Foreign Customer
	 */
	@Override
	public boolean isForeignCustomer()
	{
		Object oo = get_Value(COLUMNNAME_IsForeignCustomer);
		if (oo != null)
		{
			if (oo instanceof Boolean)
				return ((Boolean)oo).booleanValue();
			return "Y".equals(oo);
		}
		return false;
	}

	/**
	 * Set Abw. Druck-Empfänger.
	 *
	 * @param IsPrintoutForOtherUser Abw. Druck-Empfänger
	 */
	@Override
	public void setIsPrintoutForOtherUser(boolean IsPrintoutForOtherUser)
	{
		set_Value(COLUMNNAME_IsPrintoutForOtherUser, Boolean.valueOf(IsPrintoutForOtherUser));
	}

	/**
	 * Get Abw. Druck-Empfänger.
	 *
	 * @return Abw. Druck-Empfänger
	 */
	@Override
	public boolean isPrintoutForOtherUser()
	{
		Object oo = get_Value(COLUMNNAME_IsPrintoutForOtherUser);
		if (oo != null)
		{
			if (oo instanceof Boolean)
				return ((Boolean)oo).booleanValue();
			return "Y".equals(oo);
		}
		return false;
	}

	/**
	 * ItemName AD_Reference_ID=540735
	 * Reference name: ItemName
	 */
	public static final int ITEMNAME_AD_Reference_ID = 540735;
	/** Rechnung = Rechnung */
	public static final String ITEMNAME_Rechnung = "Rechnung";
	/** Mahnung = Mahnung */
	public static final String ITEMNAME_Mahnung = "Mahnung";
	/** Mitgliedsausweis = Mitgliedsausweis */
	public static final String ITEMNAME_Mitgliedsausweis = "Mitgliedsausweis";
	/** Brief = Brief */
	public static final String ITEMNAME_Brief = "Brief";
	/** Sofort-Druck PDF = Sofort-Druck PDF */
	public static final String ITEMNAME_Sofort_DruckPDF = "Sofort-Druck PDF";
	/** PDF = PDF */
	public static final String ITEMNAME_PDF = "PDF";
	/** Versand/Wareneingang = Versand/Wareneingang */
	public static final String ITEMNAME_VersandWareneingang = "Versand/Wareneingang";

	/**
	 * Set Print Item Name.
	 *
	 * @param ItemName Print Item Name
	 */
	@Override
	public void setItemName(java.lang.String ItemName)
	{

		set_Value(COLUMNNAME_ItemName, ItemName);
	}

	/**
	 * Get Print Item Name.
	 *
	 * @return Print Item Name
	 */
	@Override
	public java.lang.String getItemName()
	{
		return (java.lang.String)get_Value(COLUMNNAME_ItemName);
	}

	/**
	 * Set Warteschlangen-Aggregationsmerkmal.
	 *
	 * @param PrintingQueueAggregationKey Warteschlangen-Aggregationsmerkmal
	 */
	@Override
	public void setPrintingQueueAggregationKey(java.lang.String PrintingQueueAggregationKey)
	{
		set_Value(COLUMNNAME_PrintingQueueAggregationKey, PrintingQueueAggregationKey);
	}

	/**
	 * Get Warteschlangen-Aggregationsmerkmal.
	 *
	 * @return Warteschlangen-Aggregationsmerkmal
	 */
	@Override
	public java.lang.String getPrintingQueueAggregationKey()
	{
		return (java.lang.String)get_Value(COLUMNNAME_PrintingQueueAggregationKey);
	}

	/**
	 * Set Verarbeitet.
	 *
	 * @param Processed
	 *            Checkbox sagt aus, ob der Datensatz verarbeitet wurde.
	 */
	@Override
	public void setProcessed(boolean Processed)
	{
		set_Value(COLUMNNAME_Processed, Boolean.valueOf(Processed));
	}

	/**
	 * Get Verarbeitet.
	 *
	 * @return Checkbox sagt aus, ob der Datensatz verarbeitet wurde.
	 */
	@Override
	public boolean isProcessed()
	{
		Object oo = get_Value(COLUMNNAME_Processed);
		if (oo != null)
		{
			if (oo instanceof Boolean)
				return ((Boolean)oo).booleanValue();
			return "Y".equals(oo);
		}
		return false;
	}
}
